// 事件总线
// 把事件名称和监听者放到下边这种数据格式
// {
//     "event1" : [handle1, handle2];每个事件对应所有的监听者
//     "event2" : [handle3, handle4]
// }
// var listenters = {};
// export default {
//     // 监听事件（事件名称，处理函数）
//     $on(eventName, handle) {
//         if (!listenters[eventName]) {
//             listenters[eventName] = new Set();//防止重复数据
//         }
//         listenters[eventName].add(handle);//有重复不做任何处理，没有值就添加
//     },
//     // 取消监听事件
//     $off(eventName, handle) {
//         if (!listenters[eventName]) {
//             return;
//         }
//         listenters[eventName].delete(handle);
//     },
//     // 触发事件（事件名称， 数据），事件触发，所有监听此事件的监听者都执行
//     $emit(eventName, ...args) {
//         if (!listenters[eventName]) {
//             return;
//         }
//         for (const item of listenters[eventName]) {
//             item(...args);
//         }
//     }
// }


import Vue from 'vue';
var bus = new Vue({});
Vue.prototype.$bus = bus;
export default bus;